#include "Material.h"

namespace drawing {

	Material::Material() :
		Shininess( 1.0f )
	{}

	Material::Material( Color ambient, Color diffuse, Color specular, float shininess ) :
		Ambient( ambient ),
		Diffuse( diffuse ),
		Specular( specular ),
		Shininess( shininess )
	{}

	Material::Material( const Material& other ) :
		Ambient( other.Ambient ),
		Diffuse( other.Diffuse ),
		Specular( other.Specular ),
		Shininess( other.Shininess )
	{}

	Material& Material::operator=( const Material& rhs ) {
		if( this == &rhs ) return *this; // handle self assignment

		Ambient = rhs.Ambient;
		Diffuse = rhs.Diffuse;
		Specular = rhs.Specular;
		Shininess = rhs.Shininess;
		return *this;
	}

}
